home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / bin / startOKServer < prev    next >
Text File  |  1996-11-11  |  1KB  |  74 lines

  1. #!/bin/csh -f
  2.  
  3. #
  4. # update path to also look in the same directory from 
  5. # where this script was executed from
  6. #
  7.  
  8. set path = (/usr/bsd /bin /usr/bin /usr/sbin /usr/bin/X11)
  9. set DT_xconfirm = "$DT_utilities/DT_xconfirm"
  10.  
  11. set path = (${DT_util_path} $path)
  12.  
  13. # make sure CDROM_ROOT envariable is set
  14.  
  15. if (! $?CDROM_ROOT) then
  16.     $DT_xconfirm notviewDT
  17.     exit 0
  18. endif
  19.  
  20. #
  21. # find out and remember the user name
  22. #
  23.  
  24. if ($?HOME) then
  25.     set userHome = $HOME
  26. else
  27.     $DT_xconfirm nohome
  28. endif
  29.  
  30. #
  31. # establish a free port number for the OK server
  32. #
  33.  
  34. #
  35. # see if it is locked by someone else
  36. #
  37. while ( -e /tmp/.portlock )
  38.     echo "Obtaining a port number for dt_oksvr (Search Server), please wait"
  39.     sleep 1
  40. end
  41.  
  42. # lock the port number until the server actually starts
  43. /usr/bin/mkdir      /tmp/.portlock
  44. /usr/bin/chmod og-r /tmp/.portlock
  45.  
  46. set sockPort = `getFreePortNumber 6005`
  47.  
  48. if ($sockPort == -1) then
  49.     $DT_xconfirm error "Could not find a free port for OKSERVER."
  50.     exit 0
  51. endif
  52.  
  53. #
  54. # store it in a file
  55. #
  56. /usr/bin/touch $userHome/$DT_WWW_ROOT/logs/oksrv.port
  57. echo $sockPort > $userHome/$DT_WWW_ROOT/logs/oksrv.port
  58.  
  59. echo "dt_oksvr (Search Server):        port $sockPort"
  60.  
  61. setenv OKSVR_PORT $sockPort
  62. #
  63. # invoke ok server
  64. #
  65. okserver start
  66.  
  67. #
  68. # unlock, for race conditions for port number
  69. #
  70. /usr/bin/rm -rf    /tmp/.portlock
  71.  
  72.  
  73. exit 1
  74.